use crate::block;

/// Describes an owned snapshot of a state of a block, isolated from its context
/// within a chunk.
#[derive(Clone, Debug)]
pub struct BlockStateSnapshot {
    /// Block ID from the world pallete.
    blkid: block::BlkId,
    // TODO tile entity data?
}

impl BlockStateSnapshot {
    /// Creates a "simple" block just from an ID and with no additional state.
    pub fn new_simple(blkid: block::BlkId) -> Self {
        Self { blkid }
    }

    /// Block ID.
    pub fn id(&self) -> block::BlkId {
        self.blkid
    }
}
